Research for character and mark recognition started with the optical character system (OCR) developed in the 1960's, which can recognize certain characters (mainly, numbers and the English alphabet). Then, the development of sensors and recognition algorithms has enabled recognition of ordinary print Alphabet. Recently, the research for script recognition is in progress.
Most known techniques for character recognition depend on software. However, since these character recognition techniques have limited speed, hardware recognition techniques are preferred to overcome these software limitations.
In 1988, Bell Laboratories of AT & T company published the possibility of the implementation of VLSI in neural networks by means of the pattern classifier using a neural cell model as shown in FIG. 1 (H. P. Graf, L. D. Iackel, and W. E. Hubbard; VLSI Implementation of a Neural Network Model, IEEE Trans. computer: PP. 41-49 March 1988).
In FIG. 1, the pattern classifier has two groups of amplifiers: label units and vector units. A number of vectors are stored in the circuit and each stored vector is connected to an input of one label unit. The components of the stored vectors can have a value of -1, 0 or +1. An excitatory connection is set for a value of +1 and an inhibitory connection for a value of -1,. An input vector is applied to the input of the vector unit. The components of the input vector have values of +1 or 0. Whenever a value of +1 is input, current can be added to or subtracted from the input of the label unit depending upon the stored vector (i.e., the type of connections). In this circuit, a stable state condition occurs when the total current flowing into an input line equals 0. If the input voltage is above the threshold voltage of the amplifier, the output of the label unit becomes "High"; otherwise, the output remains "Low". The output of a label unit is determined by the following equation 1. ##EQU1## where .perspectiveto. denotes components of the input vector, which has a value of +1 or 0;
.mu. denotes components of the stored vector, which has a value of -1, 0 or +1; and PA1 Ri is the connecting resistance, which has a value of R- or R+.
The input vector is compared in parallel with all stored vectors and an inner product between the input vector and the stored vectors is evaluated. A value of +1 in the input vector at the position of a value of +1 in the stored vector gives a positive contribution to the sum of inner product, while a value of +1 in the input vector at the position of a value of -1 in the stored vector gives a negative contribution to the sum of the inner product.
The output of label units corresponding to all the stored vectors closely resembling the input vector is "High".
In this circuit, if the connecting resistance R+ is made larger than R-, the inner product of a mismatch (a value of +1 in the position of a stored value of -1) is comparatively larger than the inner product of match.
Therefore, if an input value of +1 is set in the position of stored value +1, the input vector can be erroneously seen to mismatch the stored vector.
On the other hand, another problem exists in that the label units may output a match irrespective of the stored vector. Namely, as shown in FIG. 1, assuming that (-1, +1, 0, -1) and (+1, +1, -1, +1) are stored in the stored vector, when the input vector of (0, +1, 0, 0) is input, both label units output a match or "High" state.